package com.ruoyi.auth.api;


import com.ruoyi.auth.api.model.dto.UserLoginInfoDto;

/**
 * 授权用户信息接口
 */
public interface IUserLoginInfoApiService {

    /**
     * 通过用户名查询用户信息
     *
     * @param username 用户名
     * @return 结果
     */
    UserLoginInfoDto getUserInfo(String username);

    /**
     * 根据手机号登录
     *
     * @param phoneNumber
     * @param inviteCode  邀请码
     * @return
     */
    UserLoginInfoDto getUserInfoByPhone(String phoneNumber, String inviteCode);

    /**
     * 根据手机号登录
     *
     * @param inviteCode  邀请码
     * @return
     */
    UserLoginInfoDto getUserInfoByEmail(String email, String inviteCode);

    /**
     * 根据自定义第三方用户信息获取用户信息
     *
     * @param thirdCode
     * @return
     */
    UserLoginInfoDto getUserInfoByThird(String username, String appType, String thirdCode, String inviteCode);

    /**
     * 第三方用户信息绑定
     *
     * @param phone
     * @param thirdCode
     * @return
     */
    UserLoginInfoDto thirdBinding(String username, String appType, String phone, String thirdCode, String inviteCode);
}
